﻿// The Fewest Coins POJ - 3260 训练营.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>



/*
https://vjudge.net/problem/POJ-3260#author=GPT_zh

农夫约翰去镇上买一些农场用品。作为一个非常高效的人，他总是以最少的硬币来支付他的商品，也就是说，他用来支付的硬币数量加上他收到的找零的硬币数量是最小化的。帮助他确定这个最小数量是多少。

约翰想要购买T（1 ≤ T ≤ 10,000）分的商品。货币系统有N（1 ≤ N ≤ 100）种不同面额的硬币，面值分别为V1, V2, ..., VN（1 ≤ Vi ≤ 120）。约翰携带价值为V1的C1个硬币，价值为V2的C2个硬币，依此类推，价值为VN的CN个硬币（0 ≤ Ci ≤ 10,000）。商店老板有无限数量的所有硬币，并且总是以最有效的方式找零（尽管约翰必须确保以一种能够正确找零的方式支付）。

输入
第1行：两个用空格分隔的整数：N 和 T。
第2行：N个用空格分隔的整数，分别表示V1, V2, ..., VN（V1, ...VN）
第3行：N个用空格分隔的整数，分别表示C1, C2, ..., CN
输出
第1行：包含一个整数，表示支付和找零所涉及的最小硬币数量。如果约翰无法支付并收到精确的找零，则输出-1。


3 70
5 25 50
5 2 1

3

提示
约翰用一枚50分的硬币和一枚25分的硬币支付75分，并收到5分的硬币找零，总共使用了3枚硬币进行交易。

*/
int main()
{
    std::cout << "Hello World!\n";
}

 